The present invention relates to systems and methods for interactive television applications. More particularly, the present invention relates to systems and methods for retrieving non-on-demand media data and on-demand media data from separate data sources in an interactive television application system.
Cable, satellite, and broadcast television systems provide users with a large number of television channels. Users have traditionally consulted printed television program schedules to determine the programs being broadcast at a particular time. More recently, interactive electronic television program guides have been developed that allow television program information to be displayed on a user's television.
Interactive television program guides are typically implemented on television set-cop boxes. Such program guides allow users to view television program listings in different display formats. For example, a user may instruct the program guide to display a grid of program listings organized in a channel-ordered and time-ordered array. Users may also search and sort program listings by theme (e.g., movies, sports, etc.) or by title (e.g., alphabetically). A user may obtain additional information for a particular program listing, and may purchase a program for viewing.
Some interactive program guide systems may provide listings for on-demand videos. In some systems, the on-demand video listings are provided from a data source that is separate from the source that provides listings and other information for non-on-demand media, such as television programs. A video-on-demand server may, for example, provide the listings for on-demand videos to the program guide in-band with or out-of-band from the program guide data or normal television programming. When video-on-demand listings are provided in band, the program guide must establish a connection with the video-on-demand server (if one is not established), and tune the user away from the television program the user is matching in order to retrieve listings. This causes the user to miss part of the programming that he or she is watching. When video-on-demand listings are provided out-of-band, the program guide must also establish a connection with the video-on-demand server (if one is not established), and retrieve the listings. In such approaches, low bandwidth connections may cause unacceptable delays in the display of the video-on-demand listings. In addition, some video-on-demand information, such as new release listings, is frequently accessed by many users throughout the network. Each user's equipment must establish a session with the server every time information is needed. This may cause huge peak resource demands on the distribution network.
Accordingly, it would be desirable to provide systems and methods for retrieving non-on-demand media data and on-demand media data from separate data sources in a way that reduces the undesirable consequences associated with current approaches such as, for example, the disruption of the user's viewing experience or delays in displaying application screens.
The present invention relates to systems and methods for retrieving media data from separate non-on-demand and on-demand media data sources. Illustrative features of some embodiments of the present invention are described, for example, in: U.S. Provisional Patent Application No. 60/239,377, filed Oct. 11, 2000; U.S. Provisional Patent Application No. 60/252,171, filed Nov. 20, 2000; and U.S. Provisional Patent Application No. 60/270,351, filed Feb. 21, 2001 which are hereby incorporated by reference herein in their entirety.
As used herein, non-on-demand media may be any suitable media that is provided to users without a user request. For example, non-on-demand media may be television programs, audio programs, or any other suitable programs. On-demand media may be any suitable media that is provided to users in response to user requests. For example, on-demand media may be on-demand videos or on-demand audio media, downloadable software, or any otter media suitable for on-demand distribution.
Data for on-demand and non-on-demand media may be any data which describes the media or is associated with the media. For example, non-on-demand media data may be television program titles, additional television program information, television programming advertisements, or pay-per-view ordering information. On-demand media data may be, for example, titles or descriptions of on-demand videos or downloadable software.
Non-on-demand media data and on-demand media data are retrieved from separate data sources by, for example, an interactive television application such as an interactive television program guide, or other software running on in-home equipment. The on-demand media data may be provided, for example, in-band or out-of-band from the non-on-demand media or non-on-demand media data. In some embodiments, the on-demand media data may be provided as a continuous or periodic data stream using, for example, a carousel-based approach. In other embodiments, the on-demand media data may be provided using a client-server based approach.
The on-demand media data is automatically retrieved and cached to reduce, for example, system latency or the disruption of the user's viewing experience. Caching the on-demand media data may be staggered in time among users to lessen the peak loads on the network which distributes the on-demand media data. The on-demand media data may be cached, for example, periodically or when the user invokes a particular interface. In some approaches, caching may be predictive. For example, on-demand media data for features accessible to a user from a given display may be cached. In other approaches, the most popular media on demand data may be cached. In still other approaches, the data that is cached may be personalized. For example, user activity may be monitored and the on-demand media may be cached based on the user history. Any other suitable predictive caching may be used.
On-demand media data may be retrieved from cache for display. For example, the on-demand media data may be retrieved from cache and displayed in response to a user indicating a desire to access at least the non-on-demand data in, for example, a non-on-demand media listings display. In some embodiments, the non-on-demand media listings may be displayed along with on-demand media listings, or other content such as panel or banner advertisements.